From: Philip Withnall Date: Mon, 21 Jan 2019 18:10:42 +0000 (+0000) Subject: polkitAgent: Drop close() override in favour of closed signal X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~897^2^2~136 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=ddd182516208353e3e6969e2e27ac0670436d748;p=gnome-shell.git polkitAgent: Drop close() override in favour of closed signal In case there are any internal ways the dialogue can close itself without calling its own close() method, it’s probably better to do all our cleanup on a handler for the `closed` signal instead. This should introduce no functional changes except ensuring the polkitAgent cleanup is always done. Signed-off-by: Philip Withnall https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/357 --- diff --git a/js/ui/components/polkitAgent.js b/js/ui/components/polkitAgent.js index 4ea4efba4..f03af35fc 100644 --- a/js/ui/components/polkitAgent.js +++ b/js/ui/components/polkitAgent.js @@ -42,6 +42,8 @@ var AuthenticationDialog = new Lang.Class({ this._group.visible = !Main.sessionMode.isLocked; }); + this.connect('closed', this._onDialogClosed.bind(this)); + let icon = new Gio.ThemedIcon({ name: 'dialog-password-symbolic' }); let title = _("Authentication Required"); @@ -176,14 +178,6 @@ var AuthenticationDialog = new Lang.Class({ this._session.initiate(); }, - close(timestamp) { - this.parent(timestamp); - - if (this._sessionUpdatedId) - Main.sessionMode.disconnect(this._sessionUpdatedId); - this._sessionUpdatedId = 0; - }, - _ensureOpen() { // NOTE: ModalDialog.open() is safe to call if the dialog is // already open - it just returns true without side-effects @@ -332,6 +326,12 @@ var AuthenticationDialog = new Lang.Class({ this.close(global.get_current_time()); this._emitDone(true); }, + + _onDialogClosed() { + if (this._sessionUpdatedId) + Main.sessionMode.disconnect(this._sessionUpdatedId); + this._sessionUpdatedId = 0; + }, }); Signals.addSignalMethods(AuthenticationDialog.prototype);